package com.tangding.service.user;

import java.util.Date;
import java.util.List;

import com.tangding.common.exception.GException;
import com.tangding.service.entity.user.User;
import com.tangding.service.msg.request.user.CreateUserRequest;
import com.tangding.service.msg.request.user.UpdateUserRequest;

/**
 * @description 
 *
 * @author Ranger
 * @version 2017年11月9日_上午9:26:38
 *
 */
public interface UserService {
	User findUsersByUid(String uid) throws GException;
	
	/**
	 * 分配账号
	 * 
	 * @param username
	 * @param pwd
	 * @throws GException
	 */
	void create(CreateUserRequest request) throws GException;
	
	/**
	 * 禁用/启用 账号
	 * 
	 * @throws GException
	 */
	void actUser(boolean act, String uid, Date start, Date end) throws GException;
	
	void update(UpdateUserRequest request) throws GException;
	
	/**
	 * 删除账号
	 * 
	 * @param uid
	 * @throws GException
	 */
	void delete(String uid) throws GException;
	
	
	/**
	 * 账号列表
	 * 
	 * @return
	 * @throws GException
	 */
	List<User> list() throws GException;
}
